home *** CD-ROM | disk | FTP | other *** search
- unit RGroup;
-
- interface
-
- uses
- Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, ExtCtrls, DBCtrls;
-
- type
- TNewRadioGroup = class(TRadioGroup)
- private
- FStreamedCursor: Boolean;
- protected
- procedure CMCursorChanged(var Msg: TMessage);
- message cm_CursorChanged;
- procedure Loaded; override;
- end;
-
- TDBNewRadioGroup = class(TDBRadioGroup)
- private
- FStreamedCursor: Boolean;
- protected
- procedure CMCursorChanged(var Msg: TMessage);
- message cm_CursorChanged;
- procedure Loaded; override;
- end;
-
- procedure Register;
-
- implementation
-
- procedure SetRadioGroupCursor(RG: TCustomRadioGroup; Cur: TCursor);
- var
- Loop: Integer;
- begin
- with RG do
- for Loop := 0 to ControlCount - 1 do
- if Controls[Loop] is TRadioButton then
- TRadioButton(Controls[Loop]).Cursor := Cur
- end;
-
- procedure TNewRadioGroup.CMCursorChanged(var Msg: TMessage);
- begin
- inherited;
- if csReading in ComponentState then
- FStreamedCursor := True
- else
- SetRadioGroupCursor(Self, Cursor)
- end;
-
- procedure TNewRadioGroup.Loaded;
- begin
- inherited Loaded;
- if FStreamedCursor then
- begin
- FStreamedCursor := False;
- Perform(cm_CursorChanged, 0, 0)
- end
- end;
-
- procedure TDBNewRadioGroup.CMCursorChanged(var Msg: TMessage);
- begin
- inherited;
- if csReading in ComponentState then
- FStreamedCursor := True
- else
- SetRadioGroupCursor(Self, Cursor)
- end;
-
- procedure TDBNewRadioGroup.Loaded;
- begin
- inherited Loaded;
- if FStreamedCursor then
- begin
- FStreamedCursor := False;
- Perform(cm_CursorChanged, 0, 0)
- end
- end;
-
- procedure Register;
- begin
- RegisterComponents('Clinic', [TNewRadioGroup, TDBNewRadioGroup]);
- end;
-
- end.
-